Pavement marking determination

ABSTRACT

In an approach to determining pavement markings, a computer determines a location of a first computing device based on data received from one or more location devices associated with the first computing device. The computer then retrieves pavement marking data for one or more pavement markings for the location and determines whether one or more existing pavement markings are present at the location. Responsive to determining that one or more existing pavement markings are present at the location, the computer determines whether each of the one or more existing pavement markings meet one or more pre-determined thresholds for an acceptable pavement marking quality. Furthermore, responsive to determining each of the one or more existing pavement markings do not meet the one or more pre-determined thresholds for an acceptable pavement marking quality level, the computer provides pavement marking data to the first computing device.

BACKGROUND

The present invention relates generally to roadway management, and moreparticularly, to computers using sensors such as location sensors, depthsensors, and cameras to evaluate road pavement markings at a locationand output pavement marking data for the location to a pavement paintingsystem.

Current methods to apply pavement markings for roadways includedetermining a center of a road using a manual measurement of the roadwidth. A road width may be manually measured and the center of the roadis determined and marked at multiple locations along the road. Once thecenter of a road is determined, a truck with painting equipment uses themanually applied marks to position the truck and to guide the paintingsystem to apply the pavement marks. The painting system is typically ona movable arm positioned by a second operator for paint application on aroad surface.

Typically, the location of pavement marks for roadways such as slowlanes are manually determined using the center of a road as a referencemark for the application of pavement markings. The center of the road isused to offset additional pavement markings such as lines depictingmerge lanes, bike lanes, intersection stop lines, turn arrows, etc. Thepavement markings for a road are typically included in a road plan basedon the required traffic control marks as defined in a manual or documentfor a governing entity (e.g., a providence, a state, or a country). Thepavement markings can be specified in a traffic specification ordocument for governing traffic regulations such as a Manual on UniformTraffic Control Devices (MUTCD) in the United States or other similardocument in another country.

Existing pavement markings may be inspected or evaluated to determine ifthe pavement marking meet a required quality level (e.g., the pavementmarks meet defined criteria or thresholds for visibility). An inspector,typically a Department of Transportation inspector or other similartrained individual, performs the inspection to evaluate if the existingpavement markings are acceptable based on one or more criteria definedin the governing traffic specifications such as the MUTCD.

SUMMARY

Aspects of the present invention provide a method, computer programproduct, and a computer system for one or more computers to determine alocation of a first computing device based on data received from one ormore location devices associated with the first computing device. Themethod includes one or more computers retrieving pavement marking datafor one or more pavement markings for the location and determiningwhether one or more existing pavement markings are present at thelocation. Responsive to one or more computers determining that one ormore existing pavement markings are present at the location, the methodincludes one or more computers determining whether each of the one ormore existing pavement markings meet one or more pre-determinedthresholds for an acceptable pavement marking quality. Furthermore,responsive to one or more computers determining each of the one or moreexisting pavement markings do not meet the one or more pre-determinedthresholds for an acceptable pavement marking quality level, the methodincludes one or more computers providing pavement marking data to thefirst computing device.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a functional block diagram illustrating a distributed dataprocessing environment, in accordance with an embodiment of the presentinvention;

FIG. 2 is a flowchart depicting operational steps of the pavementmarking program of FIG. 1, for determining a pavement marking for apaved area, in accordance with an embodiment of the present invention;

FIG. 3 depicts a block diagram of components of a computer, inaccordance with an illustrative embodiment of the present invention.

DETAILED DESCRIPTION

Embodiments of the present invention recognize that in road constructionand road maintenance projects pavement markings of various shapes andsizes for traffic lanes, passing lines, turn arrows, and other roadmarkings are applied. Embodiments of the present invention recognizethat the method to determine a location for pavement marking applicationand a method of pavement marking application typically rely onpredominately manual methods to determine the pavement marking locationand the specified pavement markings for application prior to paintingthe road pavement markings. Additionally, embodiments of the presentinvention recognize the pavement markings for roads are periodicallyre-applied, in some cases, based on a manual visual inspection andevaluation of existing pavement markings.

Embodiments of the present invention provide a method, a system, and acomputer program to determine if a paved area such as a new orre-surfaced road needs an initial pavement marking application.Additionally, embodiments of the present invention provide a method, asystem, and a computer program for an automatic evaluation of existingpavement markings to determine if a re-painting of the existing pavementmarkings is needed. Embodiments of the present invention provide amethod to determine when, where, and which pavement markings need to beapplied using a combination of various sensors, cameras, a road plan,and at least one software program. Furthermore, embodiments of thepresent invention provide pavement marking data to a display that usesaugmented reality to depict pavement markings on an overlay of thereal-time view of the road. Additionally, embodiments of the presentinvention include the ability to use an automated robotic vehicle ordrone to provide an evaluation, a location, pavement marking data, andan ability to paint pavement markings autonomously. Embodiments of thepresent invention discuss a method, a system, and a computer program forthe determination and application of pavement markings for a paved areasuch as a road or parking lot, however, embodiments of the presentinvention are not limited to the determination of pavement markings fora road, but can also be used in the determination of markings for othersurfaces such as athletic fields (e.g., a football field), a track, orother applicable non-paved area that may require painted markings.

The present invention will now be described in detail with reference tothe Figures. FIG. 1 is a functional block diagram illustrating adistributed data processing environment, generally designated 100, inaccordance with one embodiment of the present invention.

FIG. 1 provides only an illustration of one implementation and does notimply any limitations with regard to the environments in which differentembodiments may be implemented. Many modifications to the depictedenvironment may be made by those skilled in the art without departingfrom the scope of the invention as recited by the claims.

Distributed data processing environment 100 includes server 120,computer 130, and pavement painting system 150 connected through anetwork depicted as network 110. Network 110 can include wired,wireless, or fiber optic connections between server 120, computer 130,pavement painting system 150, and any computing devices not depicted butincluded in distributed data processing environment 100. Network 110 canbe, for example, a local area network (LAN), a virtual LAN (VLAN), awide area network (WAN), such as the Internet, a telecommunicationsnetwork, or a combination of the these networks. Network 110 can includeone or more virtual, wired, and/or wireless networks that are capable ofreceiving and transmitting data. In general, network 110 can be anycombination of connections and protocols that will supportcommunications between server 120, computer 130, pavement paintingsystem 150, and other computing devices (not shown) within distributeddata processing environment 100.

Server 120 can be a standalone computing device, a database server, aweb server, a management server, a mobile computing device, a laptopcomputer, a desktop computer, or any other electronic device orcomputing system capable of receiving, sending, storing, and processingdata. In various embodiments, each of the programs, applications, anddatabases on server 120 and computer 130 can reside on one or more othercomputing devices with distributed data processing environment 100,provided each have access to information and storage for implementationand operations of the present invention via network 110.

Server 120 includes roadway design database 125 and user interface (UI)127. Server 120 may be a web server, a tablet computer, a netbookcomputer, a personal computer (PC), a personal digital assistant (PDA),a smart phone, or any programmable electronic device capable ofcommunicating with computer 130, pavement painting system 150, and anyother computing components and devices not shown in FIG. 1 indistributed data processing environment 100. Server 120 is capable ofsending and receiving data such as road design plans to computer 130,pavement painting system 150, and other computing devices not depictedin FIG. 1 via network 110.

In various embodiments, server 120 sends road plans and data to computer130, based on a user request or input to UI 127. Server 120 may receivedata such as location data or photographs, or other information fromcomputer 130 and pavement painting system 150 via network 110. A roadplan can include information on required pavement markings, requiredsignage, locations of various stations or points on a road (e.g., GPSlocation, survey location, or other locational data that may beavailable for road location and pavement marking), sets of digitizeddrawings, and other supporting information included in a road design. Insome embodiments, pavement marking program 134 resides on server 120. Inthe depicted example, server 120 sends and receives data such as thelocation of a paint system and pavement markings to computer 130 and/orpavement painting system 150. In this example, server 120 may receivefrom computer 130 data from various sensors including sensors fordetermining a location, depth sensors, and cameras used to determinepavement markings for a current location. Server 120 may includeinternal and external hardware components, as depicted and described infurther detail with respect to FIG. 3.

Roadway design database 125 resides on server 120 and stores road designplans used in road construction and road upgrades. Roadway designdatabase 125 may receive, retrieve, and store information such asphotographs, location data, and other information from computer 130,pavement painting system 150, and other computing devices not depictedin FIG. 1. In some embodiments, roadway design database 125 includes thepainting details for creating pavement marks. For example, pavementmarking size, shape, color, spacing, periodicity of repeating elements,type of paint, paint application thickness, or a document specifying thepavement marking requirements can be stored as data in roadway designdatabase 125. While depicted on server 120, roadway design database 125may be a separate database, may be on another computing device such ascomputer 130, or can reside on more than one other computing devices(e.g., a cloud) within distributed data processing environment 100,provided each has access to information and storage for implementationand operations of the present invention via network 110.

UI 127 is a user interface on server 120 providing an interface betweena user of server 120 that enables a user of server 120 to interact withprograms and data on server 120, computer 130, pavement painting system150, and other computing devices (not shown). UI 127 may be a graphicaluser interface (GUI), an active area or line for text inputs, a web userinterface (WUI), or other type of user interface and can display useroptions, application interfaces, and data including road designs andmaps. In various embodiments, UI 127 receives user input via a touchscreen, a keyboard, a mouse, a display, an audio, visual or motionsensing device, or another peripheral device. A user can use UI 127 tosend road design information retrieved from roadway design database 125to computer 130 or to send and receive and/or display other data sentfrom computer 130 and pavement painting system 150.

Computer 130 can be an augmented reality device, a laptop computer, amobile computing device such as a smart phone, a wearable computer, atablet computer, a notebook computer, a desktop computer, a servercomputer, or any other electronic device or computing system capable ofreceiving, sending, and processing data. Augmented reality is livedirect or indirect view of a physical, real-world environment whoseelements are augmented or enhanced by computer-generated input, forexample, graphics, video, sound, or GPS data. As known to one skilled inthe art, an augmented reality device can include hardware componentssuch as a processor, a display, one or more sensors and input devicesused to provide an augmented reality display or view such as an overlayof an element or an object on a real-world image on a display or in adisplayed image. Some mobile computing devices like smartphones, tabletcomputers, smart glasses, and holographic goggles contain elements suchas a camera, an accelerometer, a global position sensor, and asolid-state compass making them a suitable device for an augmentedreality platform. Computer 130 is any programmable electronic devicecapable of communicating with server 120, pavement painting system 150,and other computing devices (not shown) within distributed dataprocessing environment 100 via network 110 that can determine alocation, a paved area size, a pavement environment, and pavementmarkings.

In various embodiments, computer 130 includes depth sensor 131, camera132, location device 133, pavement marking program 134, pavement markingdatabase 135, and UI 137. In some embodiments, computer 130 includes onetype of device (e.g., one of a camera or a depth sensor) to provide thecapabilities such as a determination of the presence of an existingpavement mark and the distance to objects provided by depth sensor 131and camera 132. For example, computer 130 may include one or morecameras (e.g., one or more of camera 132) but not depth sensor 131. Inthis example, computer 130 can analyze photographs or digital imagescaptured by one or more cameras to determine a road width, a roadenvironment, pavement marking location, and pavement marking quality(e.g., fading or wear) using one or more of known digital image analysissoftware algorithms (e.g., image contrast, color contrast, colorintensity, shape matching, etc.).

In various embodiments, computer 130 is integrated with pavementpainting system 150. For example, computer 130 may be mounted onpavement painting system 150 or be integrated into pavement paintingsystem 150. For example, computer 130 and pavement painting system 150may share hardware such as physical hardware (e.g., a frame or chassis,a paint dispersion or application system, a display, etc.), electricalelements (e.g., sensors, GPS or location devices, camera, etc.),computer components, or software. In various embodiments, when computer130 includes pavement painting system 150, the display or user interface(e.g., one of UI 137 or UI 157) for the combined system providescapability for augmented reality such as an overlay of pavement markingsfor paint application depicted on a real-time view of the paved surface.

In other embodiments, a vehicle that is an automated, robotic paintingsystem such as an autonomous or a self-driving car, kart, or a dronethat integrates the various hardware components, sensors, and softwareof computer 130 and pavement painting system 150. For example, anautomated, robotic painting system using pavement marking program 134can determine if one or more pavement markings are required at alocation determined by the system and can automatically apply thepavement markings using paint application equipment on the automated,robotic painting system.

In some embodiments, computer 130 is a mobile computing device orcomputer on a drone, an aerostat, or a hybrid aerostat capable ofsending pavement-marking data to pavement painting system 150. Aerostatsor hybrid aerostats commonly used for aerial surveys, surveillance, oraerial photography can be an aircraft the remains aloft primarily usingaerostatic buoyancy (e.g., a tethered balloon). A hybrid aerostat thatuses both static buoyancy and dynamic airflow as provided by apropulsive power (e.g., an engine) or tethering in the wind (e.g., likea kite or an Allsopp Helikite®) that are more stationary and lower costthan a drone or unmanned aerial vehicle (UAV). In this example, computer130 is an aerial mobile computing device capable of performing thefunctions discussed above to determine the pavement markings for alocation and provide pavement marking data for a current location topavement painting system 150.

Computer 130 connects to server 120 and pavement painting system 150 vianetwork 110. In various embodiments, computer 130 sends and receivesdata such as pavement markings, a pavement marking specification (e.g.,MUTCD), and road plans which may include digital design data in a taggedimage file format (TIFF) or a station (e.g., a defined location from asurvey) to and from server 120 and pavement painting system 150.Computer 130 stores data such as a road plan in a database, for exampleas pavement marking database 135. In some embodiments, computer 130retrieves data such as a road specification from a database such asroadway design database 125 on server 120, or another storage location(not shown) within distributed data processing environment 100. Computer130 may include internal and external hardware components, as depictedand described in further detail with respect to FIG. 3.

Depth sensor 131 is composed of one or more depth detection sensors.Depth sensor 131 provides data such as distance to elements on a road orobjects around the road. In various embodiments, depth sensor 131 sendsthe measured distances to pavement marking program 134 and may be usedto determine a road layout. For example, the road layout can includedistances such as a distance to one or more edges of a paved area usedfor determining a road width, the distance to objects such as sidewalks,curbs, reflectors, drainage grates, roadway signs in the vicinity of theroad or paved area, and other obstacles or elements such as treebranches or railway crossings on or in the vicinity (e.g., three to fourmeters) of a road or paved area.

In some embodiments, depth sensor 131 is used for elements or landmarkswithin the field of vision at a location. In an embodiment, a range usedfor a depth sensor 131 is based on a level of accuracy of the one ormore sensors used in computer 130. For example, ranges that may be usedwith depth sensor 131 include the range of a sensor such as depth sensor131 can be determined based on the sensor accuracy. For example, a rangeover which depth sensor 131 provides an accuracy of one to tencentimeters for objects or elements around a paved area and an accuracyof one tenth of a centimeter to ten centimeters for pavement markings.

In various embodiments, depth sensor 131 uses hardware and softwarealgorithms from depth detection technologies known to one skilled in theart. For example, depth sensor 131 can use three dimensional (3D)scanners, range imaging cameras including time-of-flight cameras,structured light 3D scanners, stereographic triangulation cameras orrange imagers, laser range finders, and any other suitable depthdetection technologies used in sensors to determine a distance to anelement on a paved area, or in the vicinity of a paved area such as aroad. In various embodiments, one or more depth sensors 131 are includedin computer 130. Depth sensor 131 sends data, such as the distance froma pavement edge to a pavement edge (e.g., for a road width), to pavementmarking program 134, pavement marking database 135, or another databaseon computer 130 or server 120 for storage.

Camera 132 provides the ability to capture photographs or digital imagesof a paved area and the paved area surroundings (e.g., a road and theroad surroundings). While FIG. 1 depicts computer 130 with a camera forcamera 132, in various embodiments, computer 130 includes one or morecameras. In some embodiments, the recorded digital images are videos orstill digital images extracted from video digital image files. Therecorded digital images can be used by pavement marking program 134 todetermine the presence of pavement markings, the quality of existingpavement markings, the location of existing pavement markings, and canbe used to verify or provide additional information on computer 130'scurrent location (e.g., based on landmarks, survey pins, or other visuallocation indicators). In some embodiments, pavement marking program 134uses the digital images provided by camera 132 to determine a distanceto one or more objects such as a road edge or stop sign. For example,pavement marking program 134 may use one or more known softwarealgorithms to determine distance from digital images captured by one ormore cameras for camera 132 (e.g., camera 132 can be used to providedistances instead of or in addition to depth sensor 131). In variousembodiments, camera 132 sends one or more captured digital images topavement marking program 134 and pavement marking database 135.

Location device 133 provides a location of computer 130. Location device133 uses one or more known technologies that can provide a locationaccurate (e.g., within 0.5 to twenty cm) for computer 130. In variousembodiments, location device 133 is a high precision global positioningsystem (GPS). In some embodiments, location device is one or more of alocal positioning system (e.g., based off a known cell tower location,etc.), theodolite based software or software application, or any othersuitable location device technology. In various embodiments, locationdevice 133 is a sensor. Location device 133 sends data such as a currentlocation to pavement marking program 134 and to pavement markingdatabase 135. In one embodiment, location device 133 sends data such asa current location to persistent storage 308 in computer 130.

Pavement marking program 134 receives a current location from a locationsensor (e.g., location device 133). In various embodiments, pavementmarking program 134 determines if pavement markings exist on a road atthe current location. In various embodiments, pavement marking program134 determines if no pavement markings exist (e.g., on a new roadsurface), if the existing pavement markings are acceptable (e.g., nopainting required), if the existing pavement markings should berefreshed or re-painted, or if the existing pavement markings are offlocation and should be erased and re-applied in the proper location. Invarious embodiments, when pavement marking program 134 determines thepavement or road needs pavement marking, pavement marking program 134retrieves one or more pavement markings identified in the road plans forthe current location from a database such as pavement marking database135 or roadway design database 125. In some embodiments, pavementmarking program 134 determines markings for a location on anothersurface. For example, line marks and field marking for a football fieldon a turf or a grass surface. In various embodiments, pavement markingprogram 134 retrieves pavement marking specifications (e.g., MUTCD) froma database (e.g., pavement marking database 135, roadway design database125 on server 120, or another database on a computer in distributed dataprocessing environment 100). In an embodiment, pavement marking program134 uses pavement markings that are included in the road plans. Forexample, pavement marking program 134 retrieves the pavement markingdata detailing the shape, size, spacing, and location of the pavementmarkings from the road plan rather than retrieving the pavement markingspecification stored in pavement marking database 135.

Pavement marking program 134 receives a current location from locationdevice 133 and receives distances from depth sensor 131 associated withthe road at the current location (e.g., a distance to one or more roadedges to determine a road width and a road center, distance to curb,distance to an on-ramp, distance to an intersection, etc.).Additionally, pavement marking program 134 receives digital images orphotographic data of the road surface and the surrounding road areaincluding possible existing pavement markings and signage from camera132. In various embodiments, pavement marking program 134 resides oncomputer 130. In some embodiments, pavement marking program 134 resideson another computer such as server 120 sending and receiving data suchas sensor data and pavement marking data to and from pavement paintingsystem 150, sensors (e.g., location device 133, depth sensor 131, andcamera 132), and databases such as roadway design database 125 on server120.

Pavement marking program 134 analyzes the road plan and received datafrom depth sensor 131, camera 132, and location device 133 to determinethe location and type of pavement markings for application on a road bypavement painting system 150. Pavement marking program 134 determinesfrom one or more of digital image data or depth sensor data if there areexisting pavement markings or lines and determines if the existingpavement markings meet a number of pre-determined thresholds forpavement marking quality.

In various embodiments, pavement marking program 134 provides thepavement marking data to pavement painting system 150 for pavementmarking application. In various embodiments, pavement marking program134 sends data for pavement marking application to an augmented realitydisplay in pavement painting system 150. For example, the displayprovides an overlay of pavement markings on a real-time view of a roadto a user with a manual pavement painting system for pavement paintingsystem 150 using a handheld or mounted display (e.g., a smart phone withan augmented reality overlay depicting a pavement marking location). Inanother embodiment, pavement marking program 134 provides data forpavement marking to a painting system in an automated robotic vehicle ora drone.

In various embodiments, pavement marking database 135 stores pavementmarking details (e.g., a pavement marking specification in MUTCD) andone or more road plans. Pavement marking details may include digitaldesign data in a tagged image file format (TIFF) or any other digitaldesign data format that may be utilized by pavement painting system 150to paint markings such as lines, arrows, words, or other pavementmarkings for traffic control or pedestrian directions on a road or pavedsurface. Pavement marking program 134 retrieves required data such aspavement marking specifications, pavement design, and paint applicationrelated data for one or more pavement markings identified in a road planfor a current location from pavement marking database 135 to send topavement painting system 150. While depicted on computer 130, in someembodiments, pavement marking database 135 is on another computer, is astandalone database, or is included on one or more computers orcomputing devices (e.g., resides on a cloud computing environment).

UI 137 is a user interface on computer 130 providing an interfacebetween a user of computer 130 that enables a user of computer 130 tointeract with programs and data on server 120, pavement painting system150, and other computing devices (not shown). UI 137 may be a graphicaluser interface (GUI), an active area or line for text inputs, a web userinterface (WUI), a heads-up display (HUD), or other type of userinterface and can display user options, application interfaces, dataincluding maps, digital images from camera 132, pavement markings,overlays of pavement markings projected on a real-time image, andincludes displaying any other information that a program or applicationmay present to a user. As known to one skilled in the art, a heads-updisplay (HUD) is any transparent display that presents data withoutrequiring a user to look away from their standard viewpoint (e.g., seedata while looking forward as can be done with holographic goggles orsmartglasses).

In an embodiment, UI 137 uses a virtual retinal display. A virtualretinal display is a display scanned directly on a user's retina thatappears to be floating in space in front of the user. In someembodiments, computer 130 and pavement painting system 150 are coupledto form a single unit. In this case, when computer 130 and pavementpainting system 150 are integrated, UI 137 is an augmented realitydisplay. For example, UI 137 may be a hand held display such as a smartphone displaying an overlay of pavement markings on a real-time image ofa road. In some embodiments, UI 137 is used to by a user to sendpainting instructions to pavement painting system 150 for pavementmarking.

In various embodiments, pavement painting system 150 applies pavementmarkings to a road or other paved surface. In various embodiments,pavement painting system 150 is any known painting system for pavementpainting used in road construction or road repair. In some embodiments,pavement painting system 150 includes computer 130. For example,computer 130 is mounted on pavement painting system 150 or integratedinto a dashboard of pavement painting system 150. In other embodiments,pavement painting system 150 is in an automated, robotic system (i.e., aself-driving car or other self-driving vehicle with a painting systemand computing capability) or a drone integrating the functions andelements of computer 130 and the ability to apply pavement markings inone unit or vehicle.

In some embodiments, pavement painting system 150 includes a locationdevice 133. For example, location device 133 in pavement painting system150 can be used to correlate pavement marking data for a currentlocation of computer 130 to a current location for pavement paintingsystem 150. In one embodiment, when pavement painting system 150 is avehicular, automated, robotic painting system where the automated,robotic painting system is capable of being programmed to place trafficcones before painting and to remove or pick-up traffic cones after roadpainting is complete.

In some embodiments, pavement painting system 150 includes UI 157. Invarious embodiments, UI 157 is a display capable of providing an overlayusing augmented reality technology. In one embodiment, UI 157 usesspatial augmented reality such as digital projectors to displayinformation on a physical object such as a pavement marking projected ona road surface. In this case, the projection from UI 157 can be used asa visual guide to an operator of pavement painting system 150 forapplying pavement markings to the correct location. In variousembodiments, UI 157 receives a user input via a touch screen, a keyboard, a mouse, a display, an audio, visual or motion sensing device orother peripheral device standard in computer devices. In variousembodiments, UI 157 includes the capability to provide an augmentedreality such as an overlay of determined pavement markings on areal-time view of a road or paved area.

FIG. 2 is a flowchart 200 depicting operational steps for pavementmarking program 134 for determining the pavement marking for a pavedarea, in accordance with an embodiment of the present invention. In step202, pavement marking program 134 receives a road plan which may be aparking lot plan or soccer field layout from server 120. In variousembodiments, based on a user input to UI 127, server 120 retrieves aplan from roadway design database 125 to send to computer 130. In someembodiments, computer 130 receives a road plan from one or more othercomputing devices (not shown) in distributed data processing environment100. Pavement marking program 134 can receive a road plan that includesa plan of record design for the road. The plan of record design for theroad includes one or more of digitized road drawings for the roaddesign, maps, surveys, areal maps, station positions, road locationpoints, distances to surveying pins, station points, or significantlandmarks, precision GPS locations, signage, and assigned pavementmarkings for the road at the current location (e.g., location on theroad such as identified by high precision GPS data, survey data, orother similar location data).

In step 204, pavement marking program 134 determines a current location.Using location device 133, pavement marking program 134 determines acurrent location for computer 130. In some embodiments, for example inembodiments where pavement painting system 150 is coupled to computer130, pavement painting system 150 includes a location device, such aslocation device 133 used to transmit a location of pavement paintingsystem 150 to pavement marking program 134. In other embodiments, alocation for pavement painting system 150 is determined by pavementmarking program 134 using a current location for computer 130 combinedwith a distance and/or a location determined based on data provideddepth sensor 131 or camera 132. In various embodiments, location device133 may use high precision GPS to identify the current location forcomputer 130. In some embodiments, pavement marking program 134 uses alocation technology that matches one or more of the location data typessupplied in the road plan. For example, pavement marking program 134 mayuse a theodolite software application for location device 133 to matchtheodolite data (e.g., from a survey of the road area) included in aroad plan. A theodolite is a precision instrument for measuring anglescommonly used in surveying applications.

In step 206, pavement marking program 134 determines pavement markingsfor a location. Using the determined current location, pavement markingprogram 134 identifies from the road plan the assigned pavement markingsfor the location. For example, pavement marking program 134 analyzes theroad plan and determines the assigned pavement markings identified inthe road plan for the current location. In various embodiments, pavementmarking program 134 retrieves from pavement marking database 135 theidentified pavement markings determined from the road plan for thecurrent location.

The retrieved pavement marking from pavement marking database 135includes data, detail, and specifications for painting the identifiedand retrieved pavement markings. The retrieved pavement painting dataincludes information on pavement marking shape, size, location,periodicity, proximity to associated markings and road signage, and mayalso include a required paint thickness and paint type. Pavement markingdata and details may be specified by one of a local, a state, aprovince, or a federal regulation such as a traffic regulatory body ordepartment, or in some cases, by a designer or an engineer for the roaddesign. For example, pavement markings may be specified in a departmentof transportation document or manual such as the MUTCD. In someembodiments, pavement marking program 134 retrieves pavement markingsfrom one of roadway design database 125 on server 120 or the receivedroad plan.

In step 208, using depth sensor 131, pavement marking program 134determines a road center and the surrounding environment. Pavementmarking program 134 makes a determination of a road width and a locationof the center of the center of the road using the distance to the roadedges measured by depth sensor 131. Depth sensor 131 may use threedimensional (3D) scanning technology or time-of-flight technology (e.g.,time-of-flight camera or sensors) to determine one or more of thefollowing: the distance to the road edges, a road width, a distance to acurb, a distance to a side walk, a sign, a cross-walk, an on-ramp, alandmark, a survey mark based station, a survey pin, or a distance toany other significant objects in the vicinity of the pavement or road.

In some embodiments, pavement marking program 134 uses depth sensor 131to determine the distances to elements directly connected to a pavedarea. For example, a distance to a road edge, to a curb, to anintersection, to an on-ramp, or a distance to a pavement marking such asa line when depth sensor 131 can detect a change in road surface textureor color. In other embodiments, pavement marking program 134 uses depthsensor 131 to determine objects and elements outside of a paved area.For example, pavement marking program 134 uses depth sensor 131 todetermine a distance to elements or objects such as signs, survey pins,or sidewalks beyond a paved area where the range of distance beyond thepavement that are limited by the desired accuracy of depth sensor 131(e.g., a distance range with an accuracy of two centimeters).

In various embodiments, pavement marking program 134 determines thelocation of the pavement markings based, at least in part, on the centerof the road. For example, depth sensor 131 sends a distance for eachpavement edge to pavement marking program 134 to determine a road width,a location for the center of the road, and pavement marking program 134determines a distance to a curb or a bike lane with respect to thecenter of the road. In some embodiments, pavement marking program 134receives one or more digital images from camera 132 used by pavementmarking program 134 to determine the center of the road for pavementpainting.

In decision step 210, pavement marking program 134 determines if theroad has existing pavement markings. In various embodiments, pavementmarking program 134 receives digital images from camera 132 of the roador pavement surface that are used for an evaluation of the presence ofexisting pavement markings. In one embodiment, depth sensor 131 providesinformation and data on the details of the road surface (e.g.,variations in surface indicating a layer of paint on the surface or avariation of surface color such as a variation between a pavement colorand a pavement marking color, or a level of contrast in reflected lightintensity indicating the presence of pavement markings) to determine ifexisting pavement marks are present. Pavement marking program 134 usesknown digital image analysis techniques and software algorithms (e.g., aroad surface color contrast analysis or a surface texture analysis usingdigital image data) on the received digital images from camera 132 todetermine if pavement markings are present on the road surface.

If no existing pavement markings are identified (no branch of decision210), then pavement marking program 134 provides pavement marking datato pavement painting system 150 (step 214). For example, pavementmarking program 134 provides to pavement painting system 150 theretrieved details for painting the pavement markings retrieved in step206. Pavement marking program 134 retrieves the pavement marking datafor the current location identified in step 206 and sends the pavementmarking data to pavement painting system 150. In this case, pavementmarking program 134 sends pavement marking or painting data to pavementpainting system 150. The pavement marking data is for painting theidentified pavement markings for the current location. Using theprovided pavement marking data from pavement marking program 134,pavement painting system 150 can apply lines and other identifiedpavement markings on a new road surface (e.g., a new road or re-pavedroad without any pavement markings).

In various embodiments, pavement marking program 134 outputs pavementmarking data using augmented reality technology such as an overlay ofone or more pavement markings projected on a real-world road image ofthe road or paved area in UI 137. For example, as previously discussed,pavement painting system 150 may display on a laptop or a handheld smartphone an overlay of pavement markings for the current location. Inanother example as previously discussed, computer 130 may be anaugmented reality device such as smart glasses or goggles. In oneembodiment, pavement marking program 134 is integrated into anautomated, robotic system or vehicle and outputs directly to a paintingsystem in the robotic vehicle.

In some embodiments, if pavement marking program 134 determines thatexisting pavement markings are present upon analysis of the digitalimages of the road captured by camera 132 (yes branch of decision 210),then pavement marking program 134 evaluates if the existing pavementmarkings are acceptable (decision step 212). Pavement marking program134 uses a set of thresholds to determine if pavement markings meet oneor more pre-determined threshold for an acceptable pavement mark qualityfor the existing pavement markings. In various embodiments, pavementmarking program 134 utilizes pre-determined thresholds from a pavementmarking specification (e.g., MUTCD) for at least a part of thedetermination of acceptability of existing pavement marking quality. Forexample, pavement marking program 134 can determine if the currentexisting pavement marking is within a pre-determined or specifiedthreshold distance to a desired location. In this example, a thresholdcan be that an acceptable existing pavement mark is within a range ofplus or minus ten centimeters from the desired location of the pavementmark as depicted in the road plan. In another threshold example, theexisting pavement marking should cover at least ninety percent of thepavement mark area (e.g., no more than ten percent of a pavement markingmissing in a square foot of pavement) as determined from the specifiedpavement mark to be acceptable (e.g., no large missing or worn off areasof paint). In this example, pavement marking program 134 compares thesize and shape of the pavement mark of a specified pavement mark in theroad plan retrieved in step 206 to the existing pavement mark. Anotherexample of a pavement marking threshold for an existing pavement markcan be a required level of contrast between an existing mark and thepavement. For example, a required level of brightness or a level ofcolor saturation for a pavement marking may be required for anacceptable existing pavement mark (e.g., a yellow marking must be at aforty percent saturation level). In another example, a pavement markingthreshold can be a specified color for the pavement mark (e.g., a turnarrow must be yellow).

For each pavement marking depicted in the digital image data, whenpavement marking program 134 evaluates that the existing pavementmarking is acceptable (yes branch decision 212), then, no re-painting ofthe existing pavement markings in the current location is needed. Wheneach of the pavement markings in the provided digital image data areevaluated by pavement marking program 134, the program may end. Pavementmarking program 134 does not send pavement marking data to pavementpainting system 150 when the existing pavement markings meet thepre-determined thresholds for acceptable quality. In variousembodiments, when pavement marking program 134 determines that theexisting pavement markings are acceptable at a location, computer 130 ismoved to a new location and pavement marking program 134 determines anew current location and evaluates the pavement markings for the newlocation. In this example, pavement marking program 134 repeats asrequired the steps 202 to 214.

When pavement marking program 134 determines that the existing pavementmarkings are not acceptable (no branch of decision 212), then pavementmarking program 134 provides pavement marking data to pavement paintingsystem 150 (step 214). When the existing pavement markings do not meetthe specified or pre-determined quality levels or thresholds, pavementmarking program 134 determines that the pavement marking should bere-applied. In some cases, when the existing pavement marks do not meetexpected pavement location thresholds as provided in a pavementspecification such as MUTCD or other pavement marking specificationconfigured as a pre-set threshold in pavement marking program 134 then,pavement marking program 134 determines that the existing pavement marksshould be removed and re-applied at the correct location.

In some embodiments, when pavement marking program 134 provides pavementmarking data to pavement painting system 150, where pavement paintingsystem 150 is a manual paint system. In this example, the pavementmarkings determined by pavement marking program 134 may be displayed asan augmented reality overlay on a real-time display of the pavement in ahand held device such as a smart phone. In another example, as thepavement markings can be added as an overlay on a displayed staticdigital image or video of the paved area in a current location shown ona mounted display, UI 157 on manual pavement painting system 150. Insome embodiments, pavement marking program 134 sends pavement markingdata to an augmented reality display in smart glasses worn by theoperator of the manual painting system.

In some embodiments, pavement marking program 134 includes an overlay ofthe pavement marking in smart glasses worn by an operator of a vehicularpainting system (e.g., pavement painting system 150). In variousembodiments, computer 130 is mounted or integrated in a manuallyoperated vehicular pavement painting system 150. In this example,pavement markings are displayed as an augmented reality overlay on oneof UI 137 or UI 157. In one embodiment, pavement marking program 134provides pavement marking data to pavement painting system 150 forprojection on the road surface indicating the location for paintapplication by a driver or paint system operator. In another embodiment,the functions and hardware of computer 130 and pavement painting system150 are combined in an automated robotic paint system that includes amobile painting system with the sensors, cameras, and software todetermine pavement markings for a location and automatically guide therobotic vehicle during paint application. In this example, pavementmarking program 134 includes additional software algorithms known to oneskilled in the art to determine a path for the automated robotic paintsystem based on location device 133 data, depth sensor 131 data, andcamera 132 digital image data. Upon completion of pavement markingapplication by pavement painting system 150, computer 130 and pavementpainting system 150 can be moved to another location and an evaluationof pavement markings for the new location can be performed by pavementmarking program 134 (e.g., steps 202 to 214 are repeated as needed forthe new location).

FIG. 3 depicts block diagram 300 of components of computer 130 inaccordance with an illustrative embodiment of the present invention. Itshould be appreciated that FIG. 3 provides only an illustration of oneimplementation and does not imply any limitations with regard to theenvironments in which different embodiments may be implemented. Manymodifications to the depicted environment may be made.

Computer 130 includes communications fabric 302, which providescommunications between cache 314, memory 306, persistent storage 308,communications unit 310, and input/output (I/O) interface(s) 312.Communications fabric 302 can be implemented with any architecturedesigned for passing data and/or control information between processors(such as microprocessors, communications and network processors, etc.),system memory, peripheral devices, and any other hardware componentswithin a system. For example, communications fabric 302 can beimplemented with one or more buses or a crossbar switch.

Memory 306 and persistent storage 308 are computer readable storagemedia. In this embodiment, memory 306 includes random access memory(RAM). In general, memory 306 can include any suitable volatile ornon-volatile computer readable storage media. Cache 314 is a fast memorythat enhances the performance of computer processor(s) 305 by holdingrecently accessed data, and data near accessed data, from memory 306.

Programs and data used for implementation of embodiments of the presentinvention, i.e., pavement marking program 134 may be stored inpersistent storage 308 and in memory 306 for execution by one or more ofthe respective computer processors 304 via cache 314. In an embodiment,persistent storage 308 includes a magnetic hard disk drive.Alternatively, or in addition to a magnetic hard disk drive, persistentstorage 308 can include a solid state hard drive, a semiconductorstorage device, read-only memory (ROM), erasable programmable read-onlymemory (EPROM), flash memory, or any other computer readable storagemedia that is capable of storing program instructions or digitalinformation.

The media used by persistent storage 308 may also be removable. Forexample, a removable hard drive may be used for persistent storage 308.Other examples include optical and magnetic disks, thumb drives, andsmart cards that are inserted into a drive for transfer onto anothercomputer readable storage medium that is also part of persistent storage308.

Communications unit 310, in these examples, provides for communicationswith other data processing systems or devices. In these examples,communications unit 310 includes one or more network interface cards.Communications unit 310 may provide communications through the use ofeither or both physical and wireless communications links. Pavementmarking program 134 may be downloaded to persistent storage 308 throughcommunications unit 310.

I/O interface(s) 312 allows for input and output of data with otherdevices that may be connected to computer 130. For example, I/Ointerface 312 may provide a connection to external devices 316 such as akeyboard, keypad, a touch screen, and/or some other suitable inputdevice. External devices 316 can also include portable computer readablestorage media such as, for example, thumb drives, portable optical ormagnetic disks, and memory cards. Software and data used to practiceembodiments of the present invention can be stored on such portablecomputer readable storage media and can be loaded onto persistentstorage 308 via I/O interface(s) 312. I/O interface(s) 312 also connectto a display 318.

Display 318 provides a mechanism to display data to a user and may be,for example, a computer monitor or an augmented reality display such assmart glasses.

The programs described herein are identified based upon the applicationfor which they are implemented in a specific embodiment of theinvention. However, it should be appreciated that any particular programnomenclature herein is used merely for convenience, and thus theinvention should not be limited to use solely in any specificapplication identified and/or implied by such nomenclature.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers, and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the invention.The terminology used herein was chosen to best explain the principles ofthe embodiment, the practical application, or technical improvement overtechnologies found in the marketplace, or to enable others of ordinaryskill in the art to understand the embodiments disclosed herein.

What is claimed is:
 1. A method for determining pavement markings, themethod comprising: determining, by one or more computers, a location ofa first computing device based on data received from one or morelocation devices associated with the first computing device, wherein thefirst computing device includes one or more cameras and one or moredepth sensors; retrieving, by one or more computers, pavement markingdata for one or more pavement markings for the location from a roadplan; receiving, by one or more computers, from the one or more depthsensors, depth sensor data of at least one or more edges of a roadsurface to determine a center of a road at the location and one or moredigital images of the road surface at the location from the one or moredigital cameras; determining, by one or more computers, whether one ormore existing pavement markings at the location are present based, atleast in part, on the depth sensor data and the one or more digitalimages of the road surface at the location; and responsive todetermining that the one or more existing pavement markings for thelocation are not present at the location, providing, by one or morecomputers, the pavement marking data for the one or more pavementmarkings for the location from the road plan to a pavement paintingsystem wherein the location is a location on a newly constructed road.2. The method of claim 1, wherein determining, by one or more computers,whether the one or more existing pavement markings for the location arepresent includes comparing a digital image received from the one or morecameras of the road surface at the location and the pavement markingdata for one or more pavement markings for the location from the roadplan to determine a presence of the one or more existing pavementmarkings for the location.
 3. The method of claim 1, wherein responsiveto determining that the existing one or more pavement markings for thelocation are present at the location, comprises: determining, by one ormore computers, whether each of the one or more existing pavementmarkings meet one or more pre-determined thresholds for an acceptablepavement marking quality, wherein the one or more pre-determinedthresholds for the acceptable pavement marking quality level include atleast one of: a minimum level of contrast between a pavement markingcolor and a pavement color, a required percent of a pavement markingpresent, and a specified threshold distance of an existing pavement marklocation on the road surface as compared to a specified pavement marklocation for the existing pavement mark in the road plan; and responsiveto determining at least one of the one or more existing pavementmarkings does not meet the one or more pre-determined thresholds for theacceptable pavement marking quality level, determining, by one or morecomputers, to re-paint the one or more pavement markings at thelocation.
 4. The method of claim 3, further comprises: responsive todetermining that a location of the at least one existing pavement markof the one or more pavement markings on the road surface as compared tothe specified pavement mark location for the at least one existingpavement mark in the road plan at the location does not meet thespecified threshold distance for the at least one existing pavement marklocation as compared to the specified pavement mark location for the atleast one existing pavement mark in the road plan; providing, by one ormore computers, the pavement marking data for the one or more pavementmarking for the location from the road plan to re-paint the one or morepavement markings for the location, wherein the pavement marking dataincludes providing data for removal of the at least one existingpavement mark at the location that does not meet the specified thresholddistance.
 5. The method of claim 1, wherein providing, by one or morecomputers, the pavement marking data for the one or more pavementmarkings for the location to the pavement painting system includesproviding the pavement marking data for the one or more pavementmarkings for display using augmented reality.
 6. The method of claim 1,wherein at least one of the one or more location devices includes aprecision global positioning system.
 7. The method of claim 1, whereinthe first computing device is one of: a mobile computing device held byan operator of a pavement painting system, a computer integrated intothe pavement painting system, a drone, and an automated robotic paintingsystem that is one of an autonomous car, or an autonomous kart whereinthe automated robotic painting system includes the first computingdevice and the pavement painting system.
 8. The method of claim 3,further comprises: responsive to determining each of the one or moreexisting pavement markings do meet the one or more pre-determinedthresholds for an acceptable pavement marking quality level,determining, by one more computers, that no re-painting of the one ormore existing pavement markings is required.
 9. The method of claim 1,wherein the first computer is integrated with an automated, roboticpainting system on a self-driving vehicle that removes traffic conesafter pavement painting at the location is complete.
 10. A computerprogram product for determining pavement markings, the computer programproduct comprising: one or more computer readable storage media andprogram instructions stored on the one or more computer readable storagemedia, the program instructions executable by a processor, the programinstructions comprising: program instructions to determine a location ofa first computing device based on data received from one or morelocation devices associated with the first computing device, wherein thefirst computing device includes one or more cameras and one or moredepth sensors; program instructions to retrieve pavement marking datafor one or more pavement markings for the location from a road plan;program instructions to receive, from the one or more depth sensors,depth sensor data of at least one or more edges of a road surface todetermine a center of a road at the location and the one or more digitalimages of the road surface at the location from the one or more digitalcameras; program instructions to determine whether one or more existingpavement markings at the location are present based, at least in part,on the depth sensor data and one or more digital images of the roadsurface at the location; and responsive to determining that the one ormore existing pavement markings for the location are not present,program instructions to provide the pavement marking data for the one ormore pavement markings for the location from the road plan, wherein thelocation is a location on a newly constructed road.
 11. The computerprogram product of claim 10, wherein program instructions to determinewhether the one or more existing pavement markings for the location arepresent includes comparing a digital image received from the one or morecameras of the road surface at the location and the pavement markingdata for one or more pavement markings for the location from the roadplan to determine a presence of the one or more existing pavementmarkings.
 12. The computer program product of claim 10, whereinresponsive to determining that the one or more existing pavementmarkings for the location are present at the location, comprises:program instructions to determine whether each of the one or moreexisting pavement markings meet one or more pre-determined thresholdsfor an acceptable pavement marking quality, wherein the one or morepre-determined thresholds for the acceptable pavement marking qualitylevel include at least one of: a minimum level of contrast between apavement marking color and a pavement color, a required percent of apavement marking present, and a specified threshold distance of anexisting pavement mark location on the road surface as compared to aspecified pavement mark location for the existing pavement mark in theroad plan; and responsive to determining at least one of the one or moreexisting pavement markings does not meet the one or more pre-determinedthresholds for the acceptable pavement marking quality level, programinstructions to determine to re-paint the one or more pavement markingsat the location.
 13. The computer program product of claim 12, furthercomprises: responsive to determining a location of the at least oneexisting pavement mark of the one or more existing pavement markings onthe road surface as compared to the specified pavement mark location forthe at least one existing pavement mark in the road plan at the locationdoes not meet the specified threshold distance as compared to thespecified mark location for the at least one existing pavement mark inthe road plan, program instructions to provide the pavement marking datafor the one or more pavement marking for the location from the road planto re-paint the one or more pavement markings for the location, whereinthe pavement marking data includes providing data for removal of the atleast one existing pavement mark at the location that does not meet thespecified threshold distance.
 14. The computer program product of claim10, wherein program instructions to provide the pavement marking datafor the one or more pavement markings for the location to the pavementpainting system includes providing the pavement marking data for displayusing augmented reality.
 15. The computer program product of claim 10,wherein at least one of the one or more location devices includes aprecision global positioning system.
 16. A computer system, fordetermining pavement markings, the computer system comprising: one ormore computer processors; one or more computer readable storage media;program instructions stored on the one or more computer readable storagemedia for execution by at least one of the one or more processors, theprogram instructions comprising: program instructions to determine alocation of a first computing device based on data received from one ormore location devices associated with the first computing device,wherein the first computing device includes one or more cameras and oneor more depth sensors; program instructions to retrieve pavement markingdata for one or more pavement markings for the location from a roadplan; program instructions to receive, from the one or more depthsensors, depth sensor data of at least one or more edges of a roadsurface to determine a center of a road at the location and one or moredigital images of the road surface at the location from the one or moredigital cameras; program instructions to determine whether one or moreexisting pavement markings at the location are present based, at leastin part, on the depth sensor data and the one or more digital images ofthe road surface at the location; and responsive to determining that theone or more existing pavement markings for the location are not present,program instructions to provide the pavement marking data for the one ormore pavement markings for the location from the road plan, wherein thelocation is a location on a newly constructed road.
 17. The computersystem of claim 16, wherein program instructions to determine whetherthe one or more existing pavement markings for the location are presentincludes comparing a digital image received from the one or more camerasof the road surface at the location and the pavement marking data forone or more pavement markings for the location from the road plan todetermine a presence of the one or more existing pavement markings. 18.The computer system of claim 16, wherein responsive to determining thatthe one or more existing pavement markings for the location are presentat the location, comprises: program instructions to determine whethereach of the one or more existing pavement markings meet one or morepre-determined thresholds for an acceptable pavement marking quality,wherein the one or more pre-determined thresholds for the acceptablepavement marking quality level include at least one of: a minimum levelof contrast between a pavement marking color and a pavement color, arequired percent of a pavement marking present, and a specifiedthreshold distance of an existing pavement mark location on the roadsurface as compared to a specified pavement mark location for theexisting pavement mark in the road plan; and responsive to determiningat least one of the one or more existing pavement markings does not meetthe one or more pre-determined thresholds for the acceptable pavementmarking quality level, program instructions to determine to re-paint theone or more pavement markings at the location.
 19. The computer systemof claim 18, further comprises: responsive to determining a location ofthe at least one existing pavement mark of the one or more existingpavement markings on the road surface as compared to the specifiedpavement mark location for the at least one existing pavement mark inthe road plan at the location does not meet the specified thresholddistance as compared to the specified pavement mark location for the atleast one existing pavement mark in the road plan, program instructionsto provide the pavement marking data for the one or more pavementmarking for the location from the road plan to re-paint the one or morepavement markings for the location, wherein the pavement marking dataincludes providing data for removal of the at least one existingpavement mark at the location that does not meet the specified thresholddistance.
 20. The computer system of claim 16, wherein programinstructions to provide the pavement marking data for the one or morepavement markings for the location to the pavement painting systemincludes providing the pavement marking data for display using augmentedreality.